home *** CD-ROM | disk | FTP | other *** search
/ Ian & Stuart's Australian Mac: Not for Sale / Another.not.for.sale (Australia).iso / Tools / BBEdit Lite 3.0 / BBEdit Lite Quickstart < prev    next >
Text File  |  1994-09-02  |  37KB  |  808 lines

  1. This QuickStart document provides a brief overview of some of the commands
  2. available in BBEdit Lite. For more general information about BBEdit Lite,
  3. consult the “About BBEdit Lite” document.
  4.  
  5. The topics covered in this document are:
  6.  
  7. Installation
  8. Creating and Saving Documents
  9. Editing Documents
  10. More on Wrapping
  11. Printing
  12. Searching
  13. Multi-File Searching
  14. Preferences Dialog
  15. Parting Shots
  16.  
  17. ---
  18.  
  19. Installation
  20.  
  21. BBEdit consists of the following major components:
  22.  
  23. •    The BBEdit application itself
  24. •    The “BBEdit Extensions” folder
  25.  
  26. Only the BBEdit application file is required to use BBEdit.
  27.  
  28. If you’re planning to install the whole set of BBEdit files, create a
  29. “BBEdit Folder”. Copy the BBEdit application and the “BBEdit
  30. Extensions” folder into your BBEdit Folder.
  31.  
  32. ---
  33.  
  34. Creating and Saving Documents
  35.  
  36. To create a new document within BBEdit, choose “New” from the File menu.
  37. An empty editing window will be opened on the screen. You can type in
  38. this window, paste text from another document or application, or do
  39. anything else which causes text to be placed in this window.
  40.  
  41. If you’re using System 6 or System 7, you can use the Finder to open
  42. files created by BBEdit by double-clicking on them.
  43.  
  44. Once you’ve opened a new window and done some basic editing, you can
  45. save your new document. To do this, choose the “Save As…” command from
  46. the File menu. Type in the name of your new file and click on “Save”.
  47.  
  48. ---
  49.  
  50. Editing Documents
  51.  
  52. In terms of its basic editing functionality, BBEdit behaves like any
  53. other word processor or text editor on the Macintosh: any typed
  54. characters are inserted at the insertion point; if there is a selection
  55. present, the selection is replaced by the first typed character, and
  56. the insertion point is placed after the first typed character.
  57.  
  58. The insertion point is indicated by a blinking vertical bar.
  59.  
  60. If there is any text selected in the active (or front) window, it is
  61. highlighted using your Mac’s default highlight color. If there is text
  62. selected in a window that is inactive (not the front window), it is
  63. framed in the highlight color.
  64.  
  65. As you type, BBEdit scrolls the window’s contents so that the insertion
  66. point is visible. Note that since BBEdit doesn’t automatically wrap the
  67. text as you type, the window may scroll horizontally. You can use the
  68. “Wrap while Typing” option to change this behavior; when it’s turned
  69. on, BBEdit will insert carriage returns as you type.
  70.  
  71. To move text from one place to another, select the text you wish to
  72. move, and choose the “Cut” command from the Edit menu. The selected
  73. text will be deleted, and placed in a special area called the
  74. “Clipboard”. (The Clipboard always contains the last text that you cut
  75. or copied.) You can then use the “Paste” command on the Edit menu to
  76. place the text elsewhere in the document you’re editing, or even in
  77. another window altogether. Also, any text that you cut or copy can be
  78. pasted into another application. You can place text in the Clipboard
  79. without deleting it by choosing “Copy” from the Edit menu.
  80.  
  81. When you Paste, the text that’s in the Clipboard will replace the
  82. current selection (if there is one), or be inserted at the insertion
  83. point. Paste doesn’t remove text from the Clipboard, so you can Paste
  84. as many times as you wish.
  85.  
  86. To delete selected text, hit the “Delete” key on your keyboard, or
  87. choose “Clear” from the Edit menu. If you have a keyboard with a
  88. numeric keypad on it, you can hit the “Clear” key on the keypad to
  89. delete the selected text.
  90.  
  91. To select all the text in the front editing window, choose “Select All”
  92. from the Edit menu. You can then cut, copy, or perform any other action
  93. that affects selected text.
  94.  
  95. BBEdit provides an assortment of facilities for transforming text in
  96. various ways. The commands to transform text are all found under the
  97. Text menu:
  98.  
  99. •   Balance locates the pair of parentheses, braces, brackets, or curly
  100. quotes which encloses the current selection range or insertion point.
  101. If there are unmatched parentheses, braces, brackets, or quotes, BBEdit
  102. will beep.
  103.  
  104. •   Twiddle transposes the two characters on either side of the
  105. insertion point, or at either end of the selected text.
  106.  
  107. Note: If you hold down the Option key, Twiddle becomes Twiddle Words.
  108. Twiddle Words behaves in similar fashion to Twiddle, except that it
  109. acts on entire words, rather than individual characters.
  110.  
  111. •   Change Case… allows you to automatically switch between upper and
  112. lower case characters for entire words, first letters of words, or
  113. first letters of lines.
  114.  
  115. •   Shift Left and Shift Right indent the selected text by one tab stop
  116. (in the case of Shift Left), or outdent by one tab stop (for Shift
  117. Right). If you hold down the Shift key while choosing one of these
  118. commands, the selected text will be indented or outdented by one space
  119. instead of one tab stop.
  120.  
  121. •   The Wrap… command is used for wrapping long lines of text and
  122. filling paragraphs. Essentially, it uses carriage returns to break
  123. lines of text, to keep them from running off to the right of your
  124. screen.
  125.  
  126. •   Unwrap… removes carriage returns and spaces between groups of text.
  127. Essentially, it performs the reverse function of the “Wrap…” command.
  128.  
  129. •   Zap Gremlins… is useful for finding and altering non-printing
  130. characters in your text files.
  131.  
  132. •   Entab converts runs of spaces into tabs, according to the current
  133. setting in the “Font and Tabs…” dialog. This transformation is useful
  134. when downloading text from a mainframe computer or on-line service
  135. which uses spaces to line up columns of text; when displaying the text
  136. in a monospaced font, columns will still usually not line up unless you
  137. Entab the text.
  138.  
  139. •   Detab converts tabs into runs of spaces, according to the current
  140. setting in the “Font and Tabs…” dialog. This is useful when uploading
  141. text to a mainframe or on-line service which has no concept of tabs as
  142. column separators.
  143.  
  144. ---
  145.  
  146. More on Wrapping
  147.  
  148. BBEdit offers the capability to wrap text in a variety of ways. This
  149. wrapping is not the “live” word wrapping that word-processors provide;
  150. instead, it is useful when importing text files from word processors or
  151. other programs that do not use carriage returns to break lines on the
  152. screen. When opened, such files appear to have only a few lines in
  153. them, which run far past the right-hand edge of the window.
  154.  
  155. To wrap text in the current document window, choose “Wrap…” from the
  156. Text menu.
  157.  
  158. The controls on the left half of the “Wrap…” dialog box control how
  159. much of the text is wrapped, and the maximum length of the lines after
  160. wrapping.
  161.  
  162. The group of radio buttons controls the length of lines after they have
  163. been wrapped:
  164.  
  165. •    The “Philip Bar” button will break lines of text at the philip bar.
  166. (To see the location of the philip bar, turn on “Show Philip Bar” in
  167. the Windows section of the Preferences dialog.) The philip bar
  168. indicates the maximum usable width of adocument window when the window
  169. is zoomed to full size on a nine-inch “classic” Macintosh screen. For
  170. this reason, you’re guaranteed that text wrapped to the philip bar will
  171. be readable without horizontal scrolling by anyone on any Macintosh.
  172.  
  173. •    If “Window Width” is selected, no wrapped line will be longer than
  174. the current width of the window. This option is useful if you’d like
  175. the lines to be alittle longer or a little shorter than is provided for
  176. by the philip bar; just size the window appropriately and wrap.
  177.  
  178. •    If “Character Width” is selected, the number in the text field
  179. designates the maximum number of characters allowed on any line; a line
  180. that exceeds this number of characters in length will be wrapped. The
  181. “Character Width” setting is useful for preparing postings to on-line
  182. services, which can break lines in an unattractive fashion if they’re
  183. longer than a fixed number of characters (usually 80).
  184.  
  185. The controls on the right half of the dialog control paragraph
  186. wrapping. If the “Paragraph Fill” check box is turned off, long lines
  187. will be wrapped. Short lines will be left untouched.
  188.  
  189. ---
  190.  
  191. Printing
  192.  
  193. BBEdit offers a variety of options for varying your printed output.
  194. These options are available from the dialog that appears when you
  195. choose “Print from the File menu:
  196.  
  197. The portion of the dialog above the gray line is the normal set of
  198. controls that is provided by whichever printer driver you use. Below
  199. the gray line are controls provided specifically by BBEdit.
  200.  
  201. •    The “Printing Font:” button will bring up a dialog that allows you
  202. to set the font, size, style, and tab attributes for the text when it’s
  203. printed (as opposed to when it’s displayed). For a description of the
  204. controls in this dialog, see the “Editing” section of this document.
  205.  
  206. •    The “Options…” button will present a dialog box for setting various
  207. formatting options, most of which should be self-explanatory.
  208.  
  209. Most of the options in “Options…” dialog only affect the appearance of
  210. the pages that are printed out, and can therefore be set according to
  211. your individual taste.
  212.  
  213. When printing a Search Results window, you can print out the list of
  214. results by making sure that the heavy border is around the list. If it
  215. is not, hit the Tab key or click on the list.
  216.  
  217. ---
  218.  
  219. Searching
  220.  
  221. BBEdit gives you the ability to search for strings of characters within
  222. the current document, or within multiple files, whether they’re
  223. currently open in BBEdit or not. When you choose “Find…” from the
  224. Search menu, BBEdit will present a dialog box with several options.
  225.  
  226. The edit field to the right of “Search For:” contains the string of
  227. characters that you wish to search for. If the “Grep” check box is
  228. checked, the string in this edit field is a regular expression. See
  229. below for more information on grep searching.
  230.  
  231. The edit field to the right of “Replace With:” contains the string of
  232. characters that will replace the current selection whenever you choose
  233. “Replace”, “Replace and Find Again”, or “Replace All” from the Search
  234. menu.
  235.  
  236. Note: To search for an explicit carriage return, line feed, or tab, you
  237. can type the literal character by holding down the Command key and
  238. hitting the Return or Tab key, or typing “\n” for a line feed, “\r” for
  239. a carriage return, or “\t” for a tab. You can also type Control-J,
  240. Control-M, and Control-I, respectively. To search for a -literal-
  241. occurrence of an escape (for example, in C or Rez program source), use
  242. two backslashes: “\\n”, “\\r”, and “\\t”. Also, a “\\” will be
  243. interepreted to mean a single backslash, just as it does in C.
  244.  
  245. The “Match Case” check box determines whether the search is
  246. case-sensitive or not. If “Match Case” is checked, only text which has
  247. the same combination of upper and lower case letters as the Search For
  248. string will be found.
  249.  
  250. The “Entire Word” check box determines whether the text being searched
  251. must be bounded by word breaks (spaces, dashes, and other punctuation).
  252.  
  253. The “Wrap Around” check box will cause the entire document to be
  254. searched, regardless of where the current insertion point or selection
  255. range lies. Ordinarily, only the text from the start of the selection
  256. range to the end of the document is searched. If “Wrap Around” is
  257. turned on, and the search string isn’t found between the start of the
  258. selection range and the end of the document, the search will
  259. automatically restart from the beginning of the document. If the search
  260. string is found in the document after wrapping around, BBEdit will
  261. blink the menu bar to alert you.
  262.  
  263. If the “Search Backwards” check box is checked, BBEdit will search
  264. backwards from the start of the insertion point to the start of the
  265. document, rather than forward to the end of the document. If “Wrap
  266. Around” is checked, and the search string is not found between the
  267. start of the document and the start of the selection range, the
  268. backwards search will resume from the end of the document.
  269.  
  270. If the “Search Selection Only” box is checked, BBEdit will constrain
  271. the search to the current selection range; this box will be dimmed if
  272. there is no selection range.
  273.  
  274. After you have entered the search and replace strings and set the search
  275. options appropriately, you can click “Find”, “Replace”, “Don’t Find”,
  276. or “Cancel”. If you click “Find”, BBEdit will immediately search for
  277. the current search and replace strings, using the current search
  278. options. If you click “Replace”, BBEdit will search for the current
  279. search string, and if it’s found, replace it with the replace string.
  280. If you click “Don’t Find”, BBEdit will accept the current search
  281. strings and options, but will not perform the search; you can then
  282. choose “Find Again” from the Search menu to start the search.
  283.  
  284. If you hold down the Option key while the Find dialog is up, “Find”
  285. becomes “Find All” and “Replace” becomes “Replace All”. If you hold
  286. down the Option key while clicking on either button, the operation is
  287. extended to affect the entire document (or selection range, if the
  288. “Search Selection Only” option is activated).
  289.  
  290. ---
  291.  
  292. Multi-File Searching
  293.  
  294. BBEdit also provides a variety of means for searching through multiple
  295. text files at one time in order to locate the search string. To perform
  296. a multi-file search, check the “Multi-File Search” check box in the
  297. Find… dialog.
  298.  
  299. When you turn on “Multi-File Search”, the “Options…” button is enabled;
  300. to set up the options for a multi-file search, click this button, and a
  301. new dialog box will appear.
  302.  
  303. The popup menu next to “Search Method” in this dialog box determines
  304. how BBEdit will locate the files to be searched.
  305.  
  306. There are three ways to locate files:
  307.  
  308. •    Directory Search. When this search method is chosen, BBEdit scans
  309. through the folders starting at the one you choose, and each file that
  310. it encounters will be searched for the search string.
  311.  
  312. •    Open Windows. When you choose this search method, BBEdit searches
  313. for the search string only in document windows that are currently open.
  314. This sort of search is very fast, and may be most convenient if you
  315. wish to limit the scope of your search to a few files.
  316.  
  317. •    Search Results. This search method is only available when the
  318. “Search Results” window is open and contains the results of a previous
  319. Batch Find (see below).
  320.  
  321. The check boxes in the “Options…” dialog can be used to tailor the
  322. search to your needs:
  323.  
  324. •    Batch Find accumulates the results of the search in progress and
  325. displays them all at once in a Search Results window. If this check box
  326. is not checked, then the multi-file search will stop each time it
  327. encounters a match, and open the file that contains the match.
  328.  
  329. Once the Search Results window is opened, you can double-click on
  330. entries in the window to display any given match, or select multiple
  331. matches from different files and display them all at once.
  332.  
  333. •    Search Nested Folders causes the Directory Scan search to search
  334. folders which are enclosed in the search’s starting directory. If this
  335. check box is turned off, only the files in the starting directory will
  336. be searched.
  337.  
  338. •    Skip (…) Folders causes the Directory Scan to skip folders whose
  339. names are enclosed in parentheses. This is useful if you have folders
  340. containing text files that you do not want to search for one reason or
  341. another; just enclose the folders’ names in parentheses, and they will
  342. be skipped.
  343.  
  344. •    Search All File Types. If this check box is checked, BBEdit searches
  345. files of all kinds, regardless of whether they contain actual text or
  346. not. If it’s not checked, only text files will be searched.
  347.  
  348. After you have set the options, click “OK” to save the settings and
  349. return to the “Find…” dialog. If you then click “Find”, the multi-file
  350. search will start. If you click “Don’t Find”, the current settings will
  351. be saved, but the multi-file search won’t start until you choose “Find
  352. in Next File” from the Search menu. (If Batch Find is selected, the
  353. “Don’t Find” button is disabled.)
  354.  
  355. When BBEdit performs a multi-file search, it does so in two steps.
  356. First, it constructs a list of the files to be searched, using the
  357. search method specified in the Multi-File Search Options dialog.
  358. Second, it searches each file in the list for the search string. If
  359. “Batch Find” is selected, all occurrences in each file will be
  360. displayed in the Search Results window. Otherwise, each file will be
  361. opened to display the first occurrence of the search string; you can
  362. find subsequent occurrences of the search string in the same file by
  363. choosing “Find Again” from the Search menu. If you’re not using Batch
  364. Find, you can locate the next file that contains the search string by
  365. choosing “Find In Next File” from the Search menu.
  366.  
  367. You can combine the capabilities of BBEdit’s multi-file search with the
  368. Replace All command to perform multi-file replace operations. To do
  369. this, set up a multi-file search as desired, and hold down the Option
  370. key and click the “Replace” button in the Find dialog. After building
  371. the list of files, BBEdit will present a dialog for setting the
  372. multi-file replace options.
  373.  
  374. There are three levels of safety that are available:
  375.  
  376. •    Safest. Click on the “Leave Open” radio button. For each file that
  377. contains the search string, BBEdit will perform a “Replace All” on that
  378. file, and leave the file open so that you can inspect the changes.
  379.  
  380. •    Less Safe. Click on the “Save To Disk” radio button, and make sure
  381. that the “Confirm Saves” check box is checked. BBEdit will perform a
  382. Replace All on each file that contains the search string, and then ask
  383. you what to do.
  384.  
  385. If you click “Save”, BBEdit will save the changed file. If you click
  386. “Don’t Save”, BBEdit will throw away the changes that were just
  387. performed. If you click “Leave Open”, BBEdit will leave the file open;
  388. this is the same behavior as the “Safest” case, above. If you click
  389. “Cancel Search”, BBEdit will stop the multi-file replace operation.
  390.  
  391. •    Living on the Edge. Click on the “Save to Disk” radio button, and
  392. un-check the “Confirm Saves” check box. If you do this, BBEdit will
  393. perform a Replace All on each file that contains the search string, and
  394. then save the changed file to disk without asking. You should only use
  395. these settings if you’re absolutely certain of what you’re doing, since
  396. the changes are irreversible.
  397.  
  398. ---
  399.  
  400. Grep Searching
  401.  
  402. Grep is a method of pattern matching that derives from the Unix™
  403. operating system.  You may be familiar with simple pattern matching
  404. from using word processors;  when you ask a word processor to find all
  405. instances of the word "black", it is performing a simple pattern match,
  406. where each letter has to match literally.  Matching strings in this
  407. manner is not very hard.
  408.  
  409. The ability to match strings in a more general manner is both more
  410. powerful and more complicated.  It allows for sophisticated pattern
  411. matching operations, such as matching all words that begin with the
  412. letter "P" and end with the letters "er", or deleting the first word of
  413. every line.  Grep provides a powerful means of doing this.
  414.  
  415. To use Grep for searching documents, just check the “Grep” check box in
  416. the Find… dialog.
  417.  
  418. The popup menu next to the “Patterns:” in the dialog contains a list of
  419. your most commonly-used Grep patterns. You can change this list in the
  420. “Grep Patterns” section of the Preferences… dialog.
  421.  
  422. How Grep Works
  423.  
  424. The “grep” mode of searching and replacing is a powerful tool. Although
  425. somewhat slower than normal text searching, grep allows the user to
  426. search for one of a set of many strings instead of a particular string.
  427. As a simple example, you can search for any occurrence of an
  428. identifier beginning with the letter P, or all lines that begin with a
  429. left brace.
  430.  
  431. A pattern is a string of characters that, in turn, describes a set of
  432. strings of characters.  An example of a set of strings is the set of
  433. all strings that begin with the letter P and end with the letter r; 
  434. the strings “Ptr” and “ProcPtr” are members of this set.  We say that a
  435. string is matched by a pattern if it is amember of the set described by
  436. the pattern.  Patterns are composed of sub-patterns which are patterns
  437. in themselves;  this is how complicated patterns may be formed.
  438.  
  439. The following section goes through the grep pattern matching and
  440. replacement rules step by step, so that by the end of it you should be
  441. able to understand how each of these grep patterns works and be able to
  442. make your own.
  443.  
  444. In some cases, the state of case sensitivity affects the results of a
  445. pattern match.  We have noted below when this is the case.
  446.  
  447. 1. Any character, with certain exceptions described below, is a pattern
  448. that matches itself.
  449.  
  450. 2.    A pattern x followed by a pattern y forms a pattern xy that matches
  451. any string ßµ where ß can be matched by x and µ can be matched by y. 
  452. We can, of course, take the compound pattern xy and concatenate yet
  453. another pattern z onto it, forming the pattern xyz.
  454.  
  455. 3.    The character . is a pattern that will match any character.
  456.  
  457. 4.    The character \ followed by any character is a pattern that matches
  458. that character. (You would use this to find special characters, such as
  459. the . character. To search for a period, you would use \.).
  460.  
  461. 5.    A string of characters s surrounded by square brackets ([ and a
  462. ]) forms a pattern [s] that matches a single instance of one of the
  463. characters in the string s.  Note that the case sensitivity flag does
  464. not apply to characters between square brackets:  letters must match
  465. exactly.
  466.  
  467. 5a.     The pattern [^ß] matches any character that is not in the string
  468. ß. Special characters will be taken literally in this context.  Again,
  469. case sensitivity doesn't apply to characters between square brackets.
  470.  
  471. 5b.    If a string of three characters in the form [a-b] occurs in the
  472. pattern p, this represents all of the characters from a to b inclusive.
  473. All special characters are taken literally;  i.e., [!-.] denotes the
  474. characters from ! to .. Notice that the only way to include the
  475. character ] in p is to make it the very first character.  Likewise, the
  476. only way to include the character - in p is to have it either at the
  477. very beginning or the very end of p.  Single characters and ranges may
  478. both be used between brackets.
  479.  
  480. 6a.    Any pattern p formed by any combination of rules 1 or 3-5b
  481. followed by a * forms the pattern p* that matches zero or more
  482. consecutive occurrences of characters matched by p.
  483.  
  484. 6c.    Any pattern p formed by any combination of rules 1 or 3-5b
  485. followed by a ? forms the pattern p? that matches zero or one
  486. consecutive occurrences of characters matched by p.
  487.  
  488. We now have the ability to form patterns that are composed of
  489. sub-patterns, and will find it useful to "remember" sub-strings matched
  490. by sub-patterns and to be able to match against those substrings.
  491.  
  492. 7.    A pattern surrounded by ( and ) is a pattern that matches whatever
  493. the sub-pattern matches.  This is useful for matching two or more
  494. instances of the same string and when doing replacements.
  495.  
  496. Sometimes it is useful to be able to "constrain" patterns to match only
  497. if certain conditions in the context outside the string matched are
  498. met.
  499.  
  500. 8.    A pattern p that is preceded by a ^ forms a pattern ^p.  If the
  501. pattern ^p is not preceded by any other pattern, it matches whatever p
  502. matches as long as the first character matched by p occurs at the
  503. beginning of a line.  If the pattern ^p is preceded by another pattern,
  504. then the ^ is taken literally.
  505.  
  506. 9.    A pattern p that is followed by a $ forms a pattern p$.  If the
  507. pattern p$ is not followed by any other pattern, it matches whatever p
  508. matches as long as the last character matched by p occurs at the end of
  509. a line.  If the pattern p$ is followed by another pattern, then the $
  510. is taken literally.
  511.  
  512. Note that the characters ^ and $ constrain pattern matches to begin or
  513. end at line boundaries, and so can be combined to constrain a pattern
  514. to match an entire line only (as in the above example).
  515.  
  516. Grep provides not only a more sophisticated method of searching, but a
  517. sophisticated method of replacing as well.  In a replacement string,
  518. the following substitutions are made before any text replacement
  519. occurs:
  520.  
  521. 1.    Each occurrence of the character & is replaced with whatever was
  522. last matched by the entire pattern.
  523.  
  524. 2.    Each occurrence of a string of the form \n, where n is one of the
  525. digits 1-9, is replaced by whatever was last matched by the sub-pattern
  526. beginning with the nth occurrence of (.
  527.  
  528. 3.    Each occurrence of a string of the form \p, where p is other than
  529. one of the digits 1-9, is replaced by p.
  530.  
  531. This allows you to not only be able to search for a string satisfying a
  532. complex set of conditions, but also to be able to do a subsequent
  533. replacement that varies depending on the string that is matched. Note
  534. that this does not take into account escape sequences, such as \t, \r,
  535. \n, \\, etc. Suppose that you have written a program that is to become
  536. a Macintosh application (i.e., it uses the Macintosh ToolBox instead of
  537. stdio for the user interface).  Suppose also that you have discovered
  538. that you have forgotten to put a \p at the beginning of your string
  539. constants, so that your program is trying to pass C strings instead of
  540. Pascal strings to the Toolbox (which only knows how to deal with Pascal
  541. strings).  You can easily change all your C strings to Pascal strings
  542. by specifying "(.*)" as the search pattern and "\\p\1" as the
  543. replacement string.
  544.  
  545. Suppose you decided to reverse the two arguments of the function "foo".
  546. You might try the pattern foo\(([^,]*),([^)]*)\) as the search pattern
  547. and foo(\2, \1) as the replacement pattern.  How does the search
  548. pattern work?
  549.  
  550. Let's assume we're trying to match some text that looks like
  551. foo(1,*bar)
  552.  
  553.     foo\(([^,]*),([^)]*)\)    matches    foo(1,*bar)
  554.  
  555. Since ([^,]*) matched 1 and ([^)]*) matched *bar, the two arguments to
  556. foo, the replacement pattern foo(\2, \1) will result in foo(*bar, 1)
  557.  
  558. This, unfortunately, won't work in the case of foo(1,(*bar)+2), since
  559. ([^)]*) will match only up to the first right parenthesis, leaving +2)
  560. unmatched.  If we're sure that all calls to foo end with a semicolon,
  561. however, we can change our pattern to foo\(([^,]*),([^;]*)\);. In this
  562. pattern, instead of trying to match the second argument by matching
  563. everything up to the first right parenthesis, we match everything up to
  564. the ); which terminates the invocation of foo.
  565.  
  566. In this example we showed how to analyze a grep pattern by examining
  567. sub-patterns. This is a good way of figuring out how to build a pattern
  568. as well. Grep can be thought of as a small and rather cryptic
  569. programming language, with each pattern a program and sub-pattern a
  570. statement in this language. If you try to create a grep pattern by
  571. testing a small sub-pattern, then adding and testing additional
  572. sub-patterns until the complete pattern is built, you may find building
  573. complex grep patterns not nearly as daunting as you first thought.
  574.  
  575. ---
  576.  
  577. Preferences Dialog
  578.  
  579. To bring up the Preferences dialog, choose “Preferences…” from the Edit
  580. menu, or double-click on your BBEdit Prefs file. (This may not be
  581. convenient, since the BBEdit Prefs file usually resides somewhere
  582. within the System Folder.)
  583.  
  584. The popup menu next to the “Preferences” text determines which section
  585. of the preferences you’re looking at. If you click on “Save”, all of
  586. the preferences settings will be saved to the “BBEdit Prefs” file. If
  587. you click on “Cancel”, the existing preferences will be left alone, and
  588. any changes you’ve made in the Preferences settings will be discarded.
  589.  
  590. --> The “Editor” preferences control BBEdit’s editing and keyboard behavior.
  591.  
  592. •    The “Default Font” button sets the font which will be used to display
  593. the text in newly created windows, and for documents which have no
  594. saved state information.
  595.  
  596. •    If Auto-Indent is turned on, BBEdit will indent to the start of the
  597. preceding line whenever you type the “Return” key on the keyboard. This
  598. is useful for programmers and for reverse-indenting text. It may be
  599. less convenient if you’re using BBEdit for composing prose.
  600.  
  601. •    Wrap While Typing: generally, BBEdit does not automatically wrap
  602. text as you type it in, which means the text may scroll horizontally.
  603. Selecting this option tells BBEdit to enter carriage returns at the end
  604. of each line, according to the current “Wrap…” settings.
  605.  
  606. •    If Balance While Typing is turned on, BBEdit will flash matching
  607. parentheses, curly braces, and brackets as you type them.
  608.  
  609. •    Smart Quotes is used to determine the default value of the Smart
  610. Quotes setting for newly created windows and for documents saved with
  611. state information other than “BBEdit”.
  612.  
  613. •    If Show Invisibles is activated, BBEdit will display certain
  614. invisible control characters by using visible placeholders: carriage
  615. returns will be represented with a “¬”; tabs will be represented with a
  616. “Δ”, and spaces will be represented with a “◊”. Non-printing control
  617. characters will be represented with a “¿”.
  618.  
  619. •    Ordinarily, actions such as Entab, Detab, Zap Gremlins, Replace All,
  620. and most extensions are not undoable, and BBEdit will alert you if you
  621. are about to perform a non-undoable action. If you aren’t concerned
  622. about being able to undo these actions, and don’t want BBEdit to alert
  623. you, turn on the ‘No “Can’t Undo” Alerts’ check box, and BBEdit will
  624. not alert you of these actions.
  625.  
  626. •    Exchange Command and Option reverses the meaning of the Command and
  627. Option keys when used with the left and right arrow keys. See “Editing
  628. Text with BBEdit” for more details.
  629.  
  630. •    If Use Keypad for Cursor Control is checked, the keys on the numeric
  631. keypad (on keyboards that have them) will move the cursor. See “Editing
  632. Text With BBEdit” for more details.
  633.  
  634. --> The “File Search” section of the Preferences contains settings to
  635. determine defaults for BBEdit’s behavior when locating files via the
  636. “Open Selection” command. The “Default <...> Directory” setting
  637. determines which directory BBEdit will initially search for files whose
  638. names are included in <angle brackets>. If “Follow Aliases” is checked,
  639. BBEdit will resolve aliases to folders as it searches for your file,
  640. and search those folders as well.
  641.  
  642. --> The “File Types” section of the Preferences allows you to modify
  643. the list of file creators that appears in the “File Creator” popup menu
  644. of the “Save As…, Options…” dialog box.
  645.  
  646. To add a new application’s file creator to the list, click the “Add…”
  647. button, and choose the application. To change an application’s creator
  648. signature, click on an application name in the list, enter a new
  649. four-letter code in the text field next to “Creator…”, and click the
  650. “Change” button. You can use the “Set button to pick an application and
  651. enter its creator code in the text field for you. To remove an
  652. application creator from the list, click on an application name, and
  653. click the “Delete” button.
  654.  
  655. The creators for “BBEdit” and “Generic Text File” are built into BBEdit
  656. and cannot be changed or deleted.
  657.  
  658. --> The “Filing Preferences” settings in this part of the Preference
  659. dialog control the default settings for the Open… and Open Several…
  660. dialogs. If “Auto-Backup” is checked, a backup will automatically be
  661. made of a file every time it is saved. If “Wrap TeachText Files” is
  662. checked, BBEdit will perform a Wrap operation, without paragraph fill,
  663. whenever you open a file created by TeachText (or SimpleText).
  664.  
  665. --> The “Grep Patterns” of the Preferences dialog allows you to modify
  666. the list of regular expressions which appears in the popup menu next to
  667. the “Grep” check box in the “Find…” dialog. The scrolling list box
  668. shows the names of the installed patterns. When you click on one, the
  669. text fields below the list will be filled in with its name, search
  670. pattern, and replace pattern. You can change any of these text fields,
  671. and click “Change” to replace the selected pattern with the changed
  672. one. You can also enter new information in the text fields and click
  673. “Add” to add a new pattern, or select a pattern and click “Delete” to
  674. remove it from the list.
  675.  
  676. Note: You can install a pattern with an empty replace pattern, which is
  677. useful just for locating text which matches a particular regular
  678. expression.
  679.  
  680. --> The “Printing” settings provide the default print settings for new
  681. windows and for documents which have saved state information other than
  682. BBEdit’s.
  683.  
  684. These settings correspond to the same settings on the “Options…” dialog
  685. which can be brought up from the Print… dialog.
  686.  
  687. --> The “Search Folders” provides the ability to set up a list of
  688. frequently-used starting points for a multi-file search; the folders
  689. listed here will appear on a popup in the Multi-File Search options
  690. section of the Find... dialog.
  691.  
  692. --> The “Startup” settings control what BBEdit does when it’s launched
  693. by some means other than double-clicking on a BBEdit document, or by
  694. dragging and dropping some item onto BBEdit itself (under System 7).
  695.  
  696. •    If Nothing is selected, BBEdit will take no action at startup. This
  697. is handy if BBEdit regularly gets launched into the background, or is
  698. launched by some scripting utility which will then start feeding
  699. commands to BBEdit directly.
  700.  
  701. •    New Window causes BBEdit to bring up a new untitled window, as if
  702. the “New command on the File menu had been chosen.
  703.  
  704. •    Open causes BBEdit to bring up an “Open…” dialog, as if the “Open…”
  705. command on the File menu had been chosen.
  706.  
  707. •    Open Several causes BBEdit to bring up the “Open Several…” dialog,
  708. as if that command had been chosen.
  709.  
  710. --> The “State Preferences” settings control what parts of a file’s
  711. saved state are honored whenever a file with saved state information is
  712. opened. In some cases, it may be desirable to ignore one of these
  713. aspects of the saved state. If the “Leave Room for Finder Icons” is
  714. checked, BBEdit will make certain that there’s enough space below and
  715. to the right of any window so that icons on the desktop can be seen
  716. when you’re running under MultiFinder or System 7. The “Default Saved
  717. State” popup menu determines what state information will be saved by
  718. default when you choose “Save As…” for a new window or for a file with
  719. no saved state information. If “Always Add State” is checked, BBEdit
  720. will save state information file every time, even if the file
  721. previously had no state.
  722.  
  723. --> The “Text Search” settings provide the defaults for text searching
  724. and multi-file searching. The options in this dialog correspond to
  725. their counterparts in the Find… and the Multi-File Search Options
  726. dialog.
  727.  
  728. The “Start From…” button sets the default starting directory for
  729. Directory Scan multi-file searches.
  730.  
  731. --> The “Windows” preferences control BBEdit’s behavior with respect to
  732. the display and management of windows.
  733.  
  734. •    Delay When Scrolling makes BBEdit wait a tenth of a second when you
  735. click in the arrows of a scrollbar before scrolling the text in a
  736. document window. This is most useful under System 6 on faster machines;
  737. often several lines will go by before your reflexes allow you to let go
  738. of the mouse button. System 7 offers a “scrolling throttle”, so this
  739. setting may be turned off.
  740.  
  741. •    Show Status Bar causes the status bar to be visible within all
  742. editing windows. (See “Editing Text With BBEdit” for a description of
  743. the status bar.) This option is on by default; you can turn it off if
  744. you have a small screen and screen “real estate” is at a premium.
  745.  
  746. •    Show Philip Bar draws a vertical gray line in the status bar at the
  747. point where the visible editing area ends on a 9-inch “classic” screen.
  748. See above for more details.
  749.  
  750. •    Show Tab Stops places tick marks in the status bar to indicate the
  751. position of tab stops in each editing window. This option is dimmed if
  752. “Show Status Bar” is turned off.
  753.  
  754. •    Show Line Numbers places line numbers along the left edge of each
  755. editing window.
  756.  
  757. •    Show Cursor Position places the cursor-position display at the lower
  758. left corner of each editing window; this display shows the position of
  759. the insertion point, or the last-changed end of the selection range.
  760.  
  761. •    The “Leave Room for Finder” settings, when activated, will instruct
  762. BBEdit to leave space along the bottom and right edges of the display
  763. containing the menu bar, whenever it zooms or arranges windows on that
  764. display.
  765.  
  766. Note - if you’re running on a Macintosh with a 9-inch screen, the window
  767. sizes when “Leave Room for Finder” is checked are usually too small to
  768. be useful. Therefore, you may want to turn these options off if you have
  769. a small screen.
  770.  
  771. •    The “Maximum Width” and “Zoom Windows To” preferences control the
  772. maximum size of windows when zooming or arranging them, and will also
  773. control how BBEdit places zoomed windows.
  774.  
  775. --> The “Wrapping Preferences” settings are the default settings for the
  776. Wrap dialog.
  777.  
  778.  
  779. --> The “Zapping Preferences” settings are the default settings for the
  780. “Zap Gremlins…” dialog.
  781.  
  782. ---
  783.  
  784. Parting Shots
  785.  
  786. Be sure to look at the “About BBEdit Lite” document which comes with the
  787. BBEdit Lite software. For more information about BBEdit or BBEdit Lite,
  788. write:
  789.  
  790. Bare Bones Software, Inc.
  791. 1 Larkspur Way, #4
  792. Natick, MA  01760
  793.  
  794. or, by e-mail:
  795.  
  796. bbedit@world.std.com    [internet]
  797. 73051,3255                [CompuServe]
  798. BARE.BONES                [AppleLink]
  799.  
  800. or, by phone or fax:
  801.  
  802. (508) 651-3561            [phone]
  803. (508) 651-7584            [fax]
  804.  
  805. This document was written by Allan Rousselle, with assistance from Rich
  806. Siegel. This document and the BBEdit Lite application are copyright
  807. ©1992-1994 Bare Bones Software, Inc., all rights reserved.
  808.